// 封装分类数据业务相关代码
import { onMounted, ref } from "vue";
import { getCategoryAPI } from "@/apis/category";
import { useRoute } from "vue-router";
import { onBeforeRouteUpdate } from "vue-router";


export function useCategory() {
    // 获取数据
    const categoryData = ref({});
    const route = useRoute();
    const getCategory = async (id = route.params.id) => {
        const res = await getCategoryAPI(id);
        // 将返回数据的result赋值给了categoryData
        categoryData.value = res.result;
    };

    onMounted(() => {
        getCategory();
        // console.log(categoryData);
    });

    // 目标：路由参数变化的时候，可以把分类数据接口从新发送
    onBeforeRouteUpdate((to) => {
        console.log("路由发生了变化")
        // 存在问题：使用最新的路由参数请求最新的分类数据
        console.log(to)
        getCategory(to.params.id)
    })
    return {
        categoryData
    }
}